import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Clase que ayuda dando mucha puntuación al personaje
 * 
 * @author Ulises Yamil Castorena Caldera 
 * @version 1.0
 */
public class Lion extends Targets
{
    private GreenfootImage img[];//Arreglo que continene las imagenes
    private GreenfootSound roar;//Variable que guarda el sonido
    
    /**
     * Constructor de la clase Lion.
     */
    public Lion()
    {       
        img = new GreenfootImage[14];    
        roar = new GreenfootSound("lion.mp3");
        for(int a = 0;a < 14;a++)        
            img[a] = new GreenfootImage("leon" + a + ".png");        
    }
    
    /**
     * Método Act de la clase.
     */
    public void act() 
    {
        aparece();
        move(4);
        eliminaLion();
    }    
    
    /**
     * Método en el cual muestra al leon y reproduce un sonido indicando que ya aparecio.
     */
    public void aparece()
    {
        if(nacio)
        {
            roar.play();
            nacio = false;
        }
        setImage(img[cont]);
        cont++;
        if(cont == 14)
            cont = 0;
    }
    
    /**
     * Cuando el leon llega al límite del mundo, este es eliminado del mismo.
     */
    public void eliminaLion()
    {
        World mundo = getWorld();
        if(getX() == mundo.getWidth() - 1)
            mundo.removeObject(this);
    }
    
    /**
     * Cambia el estado de vivo false, además cambia el score de quien lo haya tocado y remueve este objeto del mundo.
     */
    public void cambiaVivo()
    {
        vivo = false;
        modificaScore();
        getWorld().removeObject(this);
    }
    
    /**
     * Llama un método del mundo el cual incrementa el score, para eso realiza un cast y así poder ingresar a los métodos
     * del mundo.
     */
    public void modificaScore()
    {
         World mundo = getWorld();  
         ((DuckWorld)mundo).incrementaScore(100);
    }
}
